package cn.juque.systemservice.api.provider;

import cn.juque.common.base.BaseResponseDTO;
import cn.juque.systemservice.api.dto.gen.*;

import java.util.List;

/**
 * @author JUQUE
 * @version 1.0.0
 * <li>simple-generator</li>
 * <li></li>
 * @date 2020-04-01 20:32:42
 **/
public interface IGenInfoProvider {

    /**
     * 列表检索
     *
     * @param req 入参
     * @return List
     */
    BaseResponseDTO<List<GenDetailDTO>> listGen(GenSearchDTO req);

    /**
     * 根据主键id检索明细列表
     *
     * @param req 入参
     * @return list
     */
    BaseResponseDTO<List<GenMxDTO>> listGenMx(String req);

    /**
     * 新增
     *
     * @param req 入参
     * @return Boolean
     */
    BaseResponseDTO<Boolean> addGen(AddGenDTO req);

    /**
     * 更新
     *
     * @param req 入参
     * @return Boolean
     */
    BaseResponseDTO<Boolean> updateGen(UpdateGenDTO req);

    /**
     * 删除
     *
     * @param req 入参
     * @return Boolean
     */
    BaseResponseDTO<Boolean> deleteGen(GenDeleteDTO req);

    /**
     * 获取新的计数
     *
     * @param req 入场
     * @return BaseResponseDTO
     */
    BaseResponseDTO<Long> genIncrement(GenIncrementDTO req);

}
